DIMMA: A Design and Implementation Methodology for Metaheuristic Algorithms - A Perspective from Software Development
نویسندگان
چکیده
Metaheuristic algorithms will gain more and more popularity in the future as optimization problems are increasing in size and complexity. In order to record experiences and allow project to be replicated, a standard process as a methodology for designing and implementing metaheuristic algorithms is necessary. To the best of the authors’ knowledge, no methodology has been proposed in literature for this purpose. This paper presents a Design and Implementation Methodology for Metaheuristic Algorithms, named DIMMA. The proposed methodology consists of three main phases and each phase has several steps in which activities that must be carried out are clearly defined in this paper. In addition, design and implementation of tabu search metaheuristic for travelling salesman problem is done as a case study to illustrate applicability of DIMMA. taheuristic methods are genetic algorithm (Goldberg, 1989) and ant colony optimization (Dorigo & Stützle, 2004) in which collective intelligence play the important role (Wang, 2010). Tabu search (Glover & Laguna, 1997) and simulated annealing (Kirkpatrick, Gelatt, & Vecchi, 1983) are the two popular singlesolution based metaheuristics that improve a single solution in an iterative algorithm. With growing scale and complexity of optimization problems, metaheuristics will gain more and more popular. According to significant growth in using metaheuristics as optimization tools, there must be a standard methodology for design and implementing DOI: 10.4018/jamc.2010040104 International Journal of Applied Metaheuristic Computing, 1(4), 58-75, October-December 2010 59 Copyright © 2010, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. them. Such a methodology is used for recording experience and allows projects to be replicated. Moreover, this standard methodology can be a comfort factor for new adopters with little metaheuristic experience, and can show the guidelines to everyone who want to design and implement metaheuristics. To the best of our knowledge, no methodology has been proposed in literature for design and implementation metaheuristic algorithms. There are many software frameworks in the literature for metaheuristics (Voss & Woodruff, 2002; Fink et al., 1999), in which framework means reusable programming codes and components for metaheuristics (Talbi, 2009). Hence, the meaning of frameworks in these references is different from our proposed methodology. Although there are several tutorials as lectures on how to design meheuristics (Thierens, 2008), they are sometimes for special metaheuristic and do not consider this process as a whole. The proposed methodology in this paper, a Design and Implementation Methodology for Metaheuristic Algorithms (DIMMA), shows guidelines to everyone who wants to design and implement a metaheuristic algorithm. Webster’s collegiate dictionary defines methodology as “a body of methods, rules, and postulate employed by a discipline” or “the analysis of the principles or procedures of inquiry in a particular field” (Merriam-Webster, 1997). DIMMA includes several phases, steps, disciplines, and principles to design and implement a specific metaheuristic for a given optimization problem. In other words, DIMMA refers to the methodology that is used to standardize process of design and implementing a metaheuristic algorithm. In Sections 2-5 weWe explain the architecture of DIMMA and its phases and steps, In Section 6 wefollowed by a description of each step of DIMMA using design and implementation of Tabu Search (TS) metaheuristic for Travelling Salesman Problem (TSP) as a case study. 2. ArchItecture oF dImmA The architecture of DIMMA has been inspired from Rational Unified Process (RUP) which is a methodology for software engineering (Kroll & Krutchten, 2003). DIMMA has two dimensions including dynamic and discipline dimension (Figure 1). Dynamic dimension is the horizontal dimension, which includes phases of the methodology: initiation, blueprint, and construction. Discipline dimension is the vertical dimension that shows the disciplines, which logically group the steps, activities, and artifacts. DIMMA has three sequential phases that each of them has several steps (Figure 2). In each step, we define several activities, which must be done to complete the steps. These phases are as follows: initiation, in which the problem in hand must be understood precisely, and the goal of designing metaheuristic must be clearly defined. The next phase is blueprint, the most important goals of this phase are selecting metaheuristic solution method, defining performance measures, and designing algorithm for our solution strategy. The last phase is construction in which implementing the designed algorithm, parameters tuning (parameter setting), analyzing its performance, and finally documentation of results must be done. In some steps, it is necessary to review pervious steps to justify and improve decisions and algorithm. For example, it is common for the algorithm to be modified after the performance evaluations. These backward movements are illustrated in Figure 2.
منابع مشابه
A DIMMA-Based Memetic Algorithm for 0-1 Multidimensional Knapsack Problem Using DOE Approach for Parameter Tuning
Multidimensional 0-1 Knapsack Problem (MKP) is a well-known integer programming problems. The objective of MKP is to find a subset of items with maximum value satisfying the capacity constraints. A Memetic algorithm on the basis of Design and Implementation Methodology for Metaheuristic Algorithms (DIMMA) is proposed to solve MKP. DIMMA is a new methodology to develop a metaheuristic algorithm....
متن کاملAN EFFICIENT METAHEURISTIC ALGORITHM FOR ENGINEERING OPTIMIZATION: SOPT
Metaheuristic algorithms are well-known optimization tools which have been employed for solving a wide range of optimization problems so far. In the present study, a simple optimization (SOPT) algorithm with two main steps namely exploration and exploitation, is provided for practical applications. Aside from a reasonable rate of convergence attained, the ease in its implementation and dependen...
متن کاملUsing and comparing metaheuristic algorithms for optimizing bidding strategy viewpoint of profit maximization of generators
With the formation of the competitive electricity markets in the world, optimization of bidding strategies has become one of the main discussions in studies related to market designing. Market design is challenged by multiple objectives that need to be satisfied. The solution of those multi-objective problems is searched often over the combined strategy space, and thus requires the simultaneous...
متن کاملDesign of a Mathematical Model for Logistic Network in a Multi-Stage Multi-Product Supply Chain Network and Developing a Metaheuristic Algorithm
Logistic network design is one of the most important strategic decisions in supply chain management that has recently attracted the attention of many researchers. Transportation network design is then one of the most important fields of logistic network. This study is concerned with designing a multi-stage and multi-product logistic network. At first, a mixed integer nonlinear programming model...
متن کاملDesign of cybernetic metamodel of cryptographic algorithms and ranking of its supporting components using ELECTRE III method
Nowadays, achieving desirable and stable security in networks with national and organizational scope and even in sensitive information systems, should be based on a systematic and comprehensive method and should be done step by step. Cryptography is the most important mechanism for securing information. a cryptographic system consists of three main components: cryptographic algorithms, cryptogr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Int. J. of Applied Metaheuristic Computing
دوره 1 شماره
صفحات -
تاریخ انتشار 2010